﻿





#部署调用开始
 function fnIISConfig(){
     Param(
	    [parameter(Mandatory=$true)]
	    [String]$post = '',   #端口号
        [parameter(Mandatory=$true)]
        [string]$MainWebName = '', #主站点名称
        [parameter(Mandatory=$true)]
        [string]$MainPath = '', #主站点根目录
        [parameter(Mandatory=$true)]
        [string]$Type = '',  #主站点类型
        [parameter(Mandatory=$true)] #主站点解压目录
        [string]$UnzipPath = ''
	 )
    
    #获取配置文件 应用程序信息
    $childingApplication=GetChildren $MainWebName;
    
     if(PortName $post -ne ''){
        #提示确认框
        $ws = New-Object -ComObject WScript.Shell;
        $wsr = $ws.popup("端口已被占用，请确认此端口是否是服务端口。是则将更新原有文件，否停止配置（解除端口占用后重新执行）",0,"提示",4 + 32);
        
        if($wsr -eq 6){
            #点击了是
            $webSiteName=PortName $post;#获取站点名称

            #更新主站点文件
            Write-Verbose -Verbose $MainWebName"主站点存在，执行更新脚本";
            #获取应用程序绑定路径
            $mainPath=GetMainWebAddress -parentName $webSiteName;
            
            #下载文件并解压至当前文件夹
            UpLoadAndUnzip -webSiteName $webSiteName -name $Type\$UnzipPath -uploadPath $mainPath;

            #遍历配置文件 应用程序信息
            foreach($Application in $childingApplication){
                $name=$Application.Name;
                Write-Verbose -Verbose $name"的文件检查";
                if(GetApplication -siteName $webSiteName -appName $name){
                    Write-Verbose -Verbose $name"应用程序存在，执行更新脚本";
                    #获取应用程序绑定路径
                    $uploadPath=GetApplicationAddress -parentName $webSiteName -name $name;

                    #下载文件并解压至当前文件夹
                    UpLoadAndUnzip -webSiteName $webSiteName -name $Type\$name -uploadPath $uploadPath;


                }else{
                    #应用程序不存在 ---------------创建应用程序
                    Write-Verbose -Verbose $name"应用程序不存在，执行创建脚本";
                    #应用程序已存在
                    CreateApplication -path $MainPath -parentName $webSiteName -name $name;

                    #下载文件并解压至当前文件夹
                    UpLoadAndUnzip -webSiteName $webSiteName -name $Type\$name -uploadPath $MainPath\$webSiteName\$name;
                }
            }

        }else{exit;}
     }
     else
     {
        #端口无占用 判断站点名称是否存在
        if(GetSite $MainWebName){
            $ws1 = New-Object -ComObject WScript.Shell;
            $wsr1 = $ws1.popup($MainWebName+"名称的站点已存在！",0,"提示",1 + 16);
            exit;
        }else{
            Write-Verbose -Verbose $MainWebName"站点不存在，执行创建脚本";
            #站点名称不存在  可用
            #创建主站点
            CreateMainWeb -Path $MainPath -name $MainWebName -post $post -UnzipPath $UnzipPath;
            

            #下载文件并解压至当前文件夹
            UpLoadAndUnzip -webSiteName $MainWebName -name $Type\$UnzipPath -uploadPath $MainPath\$MainWebName\$UnzipPath;

            #遍历配置文件 应用程序信息
            foreach($Application in $childingApplication){
                $name=$Application.Name;
                 #创建应用程序
                 CreateApplication -path $MainPath -parentName $MainWebName -name $name;
                 $webType;$name;
                 #下载文件并解压至当前文件夹
                 UpLoadAndUnzip -webSiteName $MainWebName -name $Type\$name -uploadPath $MainPath\$MainWebName\$name;
            }
        }
     }
     
 }